from time import sleep
import multiprocessing

'''
多个进程数据不共享，每个进程都有自己的数据空间，互不影响。

下面定义一个全局变量，两个进程分别对其进行读写操作，结果如下：
一个进程写入数据：[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
一个进程读取数据：[]
'''

#全局数据
data = []


def write_data(data):
    for i in range(10):
        data.append(i)
        # sleep(1)
    print("写入的数据是：",data)

def read_data(data):
    print("读取的数据是：",data)


if __name__ == "__main__":
    # 创建一个进程对象，target指定要执行的函数，args传递参数
    process = multiprocessing.Process(target=write_data, args=(data,))
    process2 = multiprocessing.Process(target=read_data, args=(data,))

    # 启动进程
    process.start()
    process2.start()

    # 等待进程执行完毕
    process.join()
    process2.join()

    print("所有进程执行完毕")